home *** CD-ROM | disk | FTP | other *** search
- /* asm.h -- Definitions for 68k syntax variations.
-
- Copyright (C) 1992, 1994 Free Software Foundation, Inc.
-
- This file is part of the GNU MP Library.
-
- The GNU MP Library is free software; you can redistribute it and/or modify
- it under the terms of the GNU Library General Public License as published by
- the Free Software Foundation; either version 2 of the License, or (at your
- option) any later version.
-
- The GNU MP Library is distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
- or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public
- License for more details.
-
- You should have received a copy of the GNU Library General Public License
- along with the GNU MP Library; see the file COPYING.LIB. If not, write to
- the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */
-
- #ifdef MIT_SYNTAX
- #define MEM(base)base@
- #define MEM_DISP(base,displacement)base@(displacement)
- #define MEM_PREDEC(memory_base)memory_base@-
- #define MEM_POSTINC(memory_base)memory_base@+
- #ifdef __STDC__
- #define INSN1(mnemonic,size_suffix,dst)mnemonic##size_suffix dst
- #define INSN2(mnemonic,size_suffix,dst,src)mnemonic##size_suffix src,dst
- #else
- #define INSN1(mnemonic,size_suffix,dst)mnemonic/**/size_suffix dst
- #define INSN2(mnemonic,size_suffix,dst,src)mnemonic/**/size_suffix src,dst
- #endif
- #define LAB(label) label:
- #define TEXT .text
- #define ALIGN .even
- #define GLOBL .globl
- #endif
-
- #ifdef SONY_SYNTAX
- #define MEM(base)(base)
- #define MEM_DISP(base,displacement)(displacement,base)
- #define MEM_PREDEC(memory_base)-(memory_base)
- #define MEM_POSTINC(memory_base)(memory_base)+
- #define INSN1(mnemonic,size_suffix,dst)mnemonic.size_suffix dst
- #ifdef __STDC__
- #define INSN2(mnemonic,size_suffix,dst,src)mnemonic.size_suffix src##,dst
- #else
- #define INSN2(mnemonic,size_suffix,dst,src)mnemonic.size_suffix src/**/,dst
- #endif
- #define LAB(label) label:
- #define TEXT .text
- #define ALIGN .even
- #define GLOBL .globl
- #endif
-
- #ifdef MOTOROLA_SYNTAX
- #define MEM(base)(base)
- #define MEM_DISP(base,displacement)(displacement,base)
- #define MEM_PREDEC(memory_base)-(memory_base)
- #define MEM_POSTINC(memory_base)(memory_base)+
- #define INSN1(mnemonic,size_suffix,dst)mnemonic.size_suffix dst
- #ifdef __STDC__
- #define INSN2(mnemonic,size_suffix,dst,src)mnemonic.size_suffix src##,dst
- #else
- #define INSN2(mnemonic,size_suffix,dst,src)mnemonic.size_suffix src/**/,dst
- #endif
- #define LAB(label) label
- #define TEXT
- #define ALIGN
- #define GLOBL XDEF
- #define l L
- #define w W
- #define move MOVE
- #define eor EOR
- #define lsr LSR
- #define add ADD
- #define addx ADDX
- #define addq ADDQ
- #define sub SUB
- #define subx SUBX
- #define subq SUBQ
- #define neg NEG
- #define bcc BCC
- #define bcs BCS
- #define bra BRA
- #define dbf DBF
- #define rts RTS
- #define d0 D0
- #define d1 D1
- #define d2 D2
- #define d3 D3
- #define d4 D4
- #define d5 D5
- #define d6 D6
- #define d7 D7
- #define a0 A0
- #define a1 A1
- #define a2 A2
- #define a3 A3
- #define a4 A4
- #define a5 A5
- #define a6 A6
- #define a7 A7
- #define sp SP
- #endif
-